layui表格反转的一个简单实现方式

首先一个就是resize的时候,如果是反转效果的,需要更新一下,原因是部分样式用了js设置的,加上表头工具栏实际高度不限定,也就是说有可能会变化,那么他变了之前设定的top就不合适了。
主要是比如total统计的部分,也要拿到右边但是他不属于box内部的,所以top的设置比较费劲,尝试用样式处理无果,最后换成用js去根据表头工具栏的高度设置一个top。


相对标题说的简单实现方式,之前也考虑过关于行列转换的表格的实现方式,主要思路大概就是原始table定义还是不变,然后通过数据重新生成一个新的cols配置,因为要以数据记录作为列的配置。




然后结合原始的列配置生成出新的最终的数据和新的列配置,最后再用表格内部的渲染给渲染出来。基本上实际就是js将配置和数据结合做了一次反转然后渲染出来,理论上是可行的,但是实际上实现是比较困难的。
智能重载配置处理:出来的效果:另外一个细节,就是初始化的时候能否就让它反转?这个一般是没问题的就是一个参数决定状态,然后在render完毕的是调用实例的reverse处理一下就好,当然有更加细节的就是这个新加的属性,应该是属于智能重载的可重新请求属性的范畴,所以也要注意加上处理:
所以目前处理是在resize的时候对应的给重新调整一下,如果后面有优化方案,调整成纯的css处理,那就可以省去这一步了。
更多layui框架知识请关注layui框架快速入门。以上就是layui表格反转的一个简单实现方式的详细内容,更多请关注聚合云库其它相关文章!
因为行列转换之后,实际固定列被隐藏了,这时候操作的是main的,那么操作之后回到另外一种状态,就会出现一些“异象”,全选的还好,它自身有lay-filter,可以利用form.on去监听处理如下:

加了样式之后,基本样子就有了,但是还得润一下色


之所以最终选择用了两个按钮,写了两个监听处理,主要就是为了方便理解,还有如果有小伙伴不想用整个插件,想用单独的功能,可以参考这些比较原始的实现然后自己封装出适合自己项目的方法。

首先最主要的就是样式:最为关键的就是利用了writing-mode,这个是这次修改的基石,目前大概的样式如下:
测试页面: https://sun_zoro.gitee.io/layuitableplug/testTableCheckboxDisabled
另外一个就是将原始的表头还有统计行竖起来分列左右了,势必会影响到内容的显示范围,所以样式也没处理妥当,也就同样用了js动态的去调整main部分的margin的值,大致如下:
转念一想,其实也没必要那么复杂,可以利用一些样式控制来反转表格,只不过layui的table视图整个的结构比较复杂,由几部分组成,所以只要处理好细节实际可以简单的达到效果,当然简单说的是相对的,而且这种方式也会有一些不足的地方,最后面会讲。
更加麻烦的是下面的单个复选的生成的时候没有给他们加lay-filter,这回倒好,监听都监听不到,但是方法是人想的,没有就给动态加上呗,所以有了下面的这块处理
接下来是一些细节处理,也炸出来一些以前没有遇到的问题

先看看实现的思路方式:

目前基于整个插件最后生成的封装后的方法调用如下:

表格反转,或者叫行列转换,估计都不陌生,先看效果图:
具体都做了什么内容:代码的大概意思就是可以全部表格或者单个表格转换,然后根据第二个参数reversal,如果没有传就是取相反效果,如果传入boolean,以实际的值为准,true:反转,false:不反转,最后调用的是对table.Class的扩展方法reverse相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/cssm/5584.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
其中border-left决定了底部直
时间:2021-01-23
-
当你自己回头来看你写的
时间:2021-01-23
-
④格式标签 粗体:b/b 斜
时间:2021-01-23
-
我们直接看代码: !DOCTY
时间:2021-01-23
-
这里就是吐槽的IE6!) 图
时间:2021-01-23
-
假设我们的HTML代码如下:
时间:2021-01-23
-
那么使用 CSS3 新增的选择
时间:2021-01-23
-
scaleGlassRectangle.y
时间:2021-01-23
热门文章
-
可以加我的HTML5前端交流群111645711 CSS源码
时间:2021-01-15
-
就可以对子元素进行 3D 变形操作了
时间:2021-01-12
-
用css让一个容器水平垂直
时间:2021-01-12
-
而没有设置高度
时间:2021-01-19
-
canvas与html5实现视频截图成果
时间:2021-01-19
-
所以通常不需要发送
时间:2021-01-19
-
我们尝试一下更新一下HTML结构
时间:2021-01-23
-
scaleGlassRectangle.y
时间:2021-01-23
-
HTML5生拖放实例分析
时间:2021-01-12
-
在全局:root{ }伪类中定义了一个 CSS 变量
时间:2021-01-21
